package com.fz.util;

import com.fz.entity.Artist;
import lombok.Data;

import java.util.List;

/**
 * Created by Z-C-Y on 2018-03-06.
 */
@Data
public class PageBean {
    //已知参数
    private int pageNun;//当前页，从请求那边过来的
    private int pageSize; //每页显示的条数
    private int totalRecord;//记录总的条数，是从数据库中进行查询到的

    //需要计算的参数
    private int totalPage;//总页数--》通过totalRecord%pageSize计算可以得
    //开始索引，也就是从数据库中从第几条到第几条
    //有了startIndex和pageSize，就可以设置每页显示他条数
    private int startIndex;
    //将每页显示的数据放进list集合中
    List<Artist> listArtist;
   // List<MemberDaomain> memberList;

    //分页显示的页数，在页面上显示的1,2,3,4，5页，，start就为1，end就为5；
    private int start;
    private int end;

    //通过pageNun,pageSize,totalRecord计算来totalPage和startIndex；
    //构造方法将pagaNun，pageSize，totalRecord获得
    public PageBean(int pageNun, int pageSize, int totalRecord) {
        super();
        this.pageNun = pageNun;
        this.pageSize = pageSize;
        this.totalRecord = totalRecord;

        //得到总页数totalPage
        if(totalRecord%pageSize==0){
            //说明能被正除
            this.totalPage = totalRecord/pageSize;
        }else{
            this.totalPage = totalRecord/pageSize + 1;
        }

        //开始索引
        this.startIndex = ((pageNun -1) * pageSize);
        this.start = 1;
        this.end = 5;

        //显示每页的算法
        //显示5页
        if(this.totalPage <=5){
            //总页数都小于5，那么end，就是总页数
            this.end = this.totalPage;
            /*System.out.println("====this.totalPage===]"+this.totalPage)*/
        }else{
            //总页数都大于5，那么就要根据当前页是第几页，来判断start和end为多少，
            this.start = pageNun - 1;
            this.end = pageNun + 2;

            if(start < 0){
                //比如当前页是第1页或者是第2页，那么就不符合这个规则
                this.start = 1;
                this.end = 5;
            }
            if(end > this.totalPage){
                //比如当前页是倒数第2页或者是最后一页，页同样不符合上述的规则
                this.end = totalPage;
                this.start = end - 5;
            }
        }


    }


    public PageBean() {
        super();
        // TODO Auto-generated constructor stub
    }





}
